if (!dojo._hasResource["dojo.dnd.common"]) { //_hasResource checks added by build. Do not use _hasResource directly in your code.
    dojo._hasResource["dojo.dnd.common"] = true;
    dojo.provide("dojo.dnd.common");

    dojo.dnd._copyKey = navigator.appVersion.indexOf("Macintosh") < 0 ? "ctrlKey" : "metaKey";

    dojo.dnd.getCopyKeyState = function(e) {
        // summary: abstracts away the difference between selection on Mac and PC,
        //	and returns the state of the "copy" key to be pressed.
        // e: Event: mouse event
        return e[dojo.dnd._copyKey];	// Boolean
    };

    dojo.dnd._uniqueId = 0;
    dojo.dnd.getUniqueId = function() {
        // summary: returns a unique string for use with any DOM element
        var id;
        do{
            id = dojo._scopeName + "Unique" + (++dojo.dnd._uniqueId);
        } while (dojo.byId(id));
        return id;
    };

    dojo.dnd._empty = {};

    dojo.dnd.isFormElement = function(/*Event*/ e) {
        // summary: returns true, if user clicked on a form element
        var t = e.target;
        if (t.nodeType == 3 /*TEXT_NODE*/) {
            t = t.parentNode;
        }
        return " button textarea input select option ".indexOf(" " + t.tagName.toLowerCase() +
                                                               " ") >= 0;	// Boolean
    };

}
